Physical design rules traditionally governed the spacing between two metal wires or two vias. However, with the ever-shrinking process nodes (e.g., 10 nm and 7 nm process nodes) physical design rules may involve up to twenty neighboring objects and this number is expected to grow with future process nodes. Mainstream Electronic Design Automation (EDA) Computer Aided Design (CAD) tools models usually build on edge to edge, corner to corner, intersection, and containment pairwise relationships between the layout objects. These models are stretched far beyond their planned scope and capability, resulting in either dumbing down of the process capabilities so that the tools can somehow comprehend and deal with the rules, or requiring significant effort to customize the CAD tools' models with each generation, both of which impact density and/or design turn-around-time.
There are several models for design rules written and supported by various external CAD tools and standards bodies, namely the Si2 (Silicon Integration Initiative) OpenDFM standard. The OpenDFM standard Version 2.0 describes an open, high-level language that can generate popular verification run-sets for use in an EDA design for manufacturability (DFM) verification. However, those standards cannot, and do not, keep up with evolving process technologies and repeatedly fail to provide adequate models for the CAD tools.
FIG. 1 illustrates a typical framework 100 for EDA CAD tools. Here, various CAD tools (e.g., CAD1 through CADN) may be from different vendors and each CAD tool may have a designated support team (e.g., Team1 through TeamN, respectively). Each team may review the various Process node layout rules 101 (which are usually proprietary rules) and develops code for their respective CAD tools so that the CAD tools can comprehend rules 101. When the process rules change, the teams have to re-review the tools and update their respective CAD tools again so that that the CAD tools can comprehend the rule changes.
Standards such as OpenDFM and frameworks such as framework 100 force CAD tool developers to write all kinds of hard-coded hacks to cope with the changing rules, or just plainly not support the more advanced process features offered by a process node.